# -*- coding:utf-8 -*-
"""
作者：小朱
日期：2023年08月23日
"""
import configparser


class IniConf():

    def __init__(self, filename):
        self.filename = filename  # 路径名
        self.getConf()  # 解析
        pass

    def getConf(self):
        try:
            con = configparser.ConfigParser()
            con.read(self.filename, encoding='utf-8')  # 读取文件
            print('正在读取配置文件：' + self.filename + '...')
            pass
        except:
            print('Error happend...')
        sections = con.sections()  # 获取所有section
        loc_len = 'self.person_len' + '= ' + str(len(sections))  # 生成对应的属性赋值变量语句
        exec(loc_len)  # 执行语句
        for sc in sections:  # 循环每个Session
            items = con.items(sc)  # 返回结果为元组
            if len(items) == 0:  # 长度为0 则表示该session没有属性
                pass
            else:  # 长度不为0 则表示该session有属性
                for it in items:  # 循环遍历 每个属性
                    loc = 'self.' + sc + '_' + it[0] + ' = ' + it[1]  # 生成对应的属性赋值变量语句
                    exec(loc)  # 执行语句
            pass
        print('配置文件读取成功')
        self.toString()
        pass

    def toString(self):  # 打印所有属性key = value
        print('所有的配置文件:')
        for dic in self.__dict__:
            print('     ', dic, ':', self.__dict__[dic])
            pass
        pass
